package top.mczhengyi.xyblog.auth;

import top.mczhengyi.xyblog.entity.User;

import java.util.HashMap;
import java.util.Map;
import java.util.UUID;

public class AuthManage {
    /** Token与用户的对应数组 */
    private static final Map<String, User> authMap = new HashMap<>();

    /**
     * 将某个用户认证到管理器中
     * @param user 用户对象
     * @return Token
     */
    public static String auth(User user) {
        String token = UUID.randomUUID().toString().replace("-", "");
        authMap.put(token, user);
        return token;
    }

    /**
     * 认证用户是否登录
     * @param token token
     * @return 登录状态
     */
    public static boolean check(String token) {
        return authMap.get(token) != null;
    }

    /**
     * 获取token对应的用户信息
     * @param token token
     * @return 用户信息
     */
    public static User getUser(String token) {
        return authMap.get(token);
    }

    /**
     * 清除Token所指向用户的登录状态
     * @param token token
     */
    public static void rmAuth(String token) {
        authMap.remove(token);
    }
}
